//计算机科学中对闭包的定义

1. 闭包（Closure）， 又称词法闭包（Lexical Closure）或者函数闭包（Function Closure）
2. 是在支持头等函数的编程语言中实现词法绑定的一种技术
3. 闭包在实现上是一个结构体，他存储了一个函数和一个关联的环境， 相当于一个符号查找表
4. 闭包跟函数的最大区别在于，当捕捉闭包的时候，他的自由变量会在捕捉时被确定，这样即使脱离了捕捉的上下文，他也能照常运行。


MDN中对js中闭包的解释
闭包是由捆绑起来（封闭的）的函数和函数周围状态（词法环境）的引用组合而成。换言之，闭包让函数能访问它的外部作用域。在 JavaScript 中，闭包会随着函数的创建而同时创建。